home *** CD-ROM | disk | FTP | other *** search
/ Precision Software Appli…tions Silver Collection 1 / Precision Software Applications Silver Collection Volume One (PSM) (1993).iso / demos / raf_.arj / INSTALL.MST < prev    next >
Text File  |  1993-06-01  |  5KB  |  210 lines

  1. '**************************************************************************
  2. '*                       Installation
  3. '**************************************************************************
  4.  
  5. '$INCLUDE 'setupapi.inc'
  6.  
  7. ''Dialog ID's
  8. CONST WELCOME          =  100
  9. CONST ASKQUIT          =  200
  10. CONST DESTPATH         =  300
  11. CONST EXITFAILURE      =  400
  12. CONST EXITQUIT         =  600
  13. CONST EXITSUCCESS      =  700
  14. CONST OPTIONS          =  800
  15. CONST APPHELP          =  900
  16. CONST SINGLESELECT     = 1900
  17. CONST CHECKBOXES       = 2500
  18. CONST EXTENDEDSELECT   = 3900
  19. CONST MODELESSTEMPLATE = 5000
  20. CONST MULTIPLESELECT   = 5200
  21. CONST CUSTOMINSTALL    = 6200
  22. CONST INSUFFICIENTDISK = 6300
  23. CONST BADPATH          = 6400
  24. CONST LICENSEVIOLATION = 7100
  25. CONST LICENSEVIOLATION2= 7200
  26. CONST USERINFOCONFIRM  = 7300
  27. CONST USER           = 7400
  28. CONST USERANDCOMPANY   = 7500
  29. CONST COMPANY           = 7600
  30. CONST BADUSER          = 7700
  31. CONST BADCOMPANY       = 7800
  32.  
  33.  
  34. ''Bitmap ID
  35. CONST LOGO = 1
  36.  
  37. GLOBAL DEST$        ''Default destination directory.
  38.  
  39.  
  40. DECLARE SUB Install
  41. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  42.  
  43.  
  44. INIT:
  45.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  46.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  47.  
  48.     SetBitmap CUIDLL$, LOGO
  49.     SetTitle "Ready, Aim, FILE Setup"
  50.  
  51.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  52.     IF szInf$ = "" THEN
  53.     szInf$ = GetSymbolValue("STF_CWDDIR") + "INSTALL.INF"
  54.     END IF
  55.     ReadInfFile szInf$
  56.  
  57.     DEST$ = "C:\WINFILE"
  58.  
  59.  
  60.  
  61. WELCOME:
  62.     sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
  63.     IF sz$ = "CONTINUE" THEN
  64.         UIPop 1
  65.     ELSE
  66.         GOSUB ASKQUIT
  67.         GOTO WELCOME
  68.     END IF
  69.  
  70.  
  71.  
  72.  
  73. GETPATH:
  74.     SetSymbolValue "EditTextIn", DEST$
  75.     SetSymbolValue "EditFocus", "END"
  76. GETPATHL1:
  77.     sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
  78.     DEST$ = GetSymbolValue("EditTextOut")
  79.  
  80.     IF sz$ = "CONTINUE" THEN
  81.         IF IsDirWritable(DEST$) = 0 THEN
  82.             GOSUB BADPATH
  83.             GOTO GETPATHL1
  84.         END IF
  85.         UIPop 1
  86.     ELSEIF sz$ = "REACTIVATE" THEN
  87.         GOTO GETPATHL1
  88.     ELSE
  89.         GOSUB ASKQUIT
  90.     GOTO GETPATH
  91.     END IF
  92.  
  93.  
  94.     Install
  95.  
  96.  
  97. QUIT:
  98.     ON ERROR GOTO ERRQUIT
  99.  
  100.     IF ERR = 0 THEN
  101.         dlg% = EXITSUCCESS
  102.     ELSEIF ERR = STFQUIT THEN
  103.         dlg% = EXITQUIT
  104.     ELSE
  105.         dlg% = EXITFAILURE
  106.     END IF
  107. QUITL1:
  108.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  109.     IF sz$ = "REACTIVATE" THEN
  110.         GOTO QUITL1
  111.     END IF
  112.     UIPop 1
  113.  
  114.     END
  115.  
  116. ERRQUIT:
  117.     i% = DoMsgBox("Setup sources were corrupted, call Technical Support!", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  118.     END
  119.  
  120.  
  121.  
  122. BADPATH:
  123.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  124.     IF sz$ = "REACTIVATE" THEN
  125.         GOTO BADPATH
  126.     END IF
  127.     UIPop 1
  128.     RETURN
  129.  
  130.  
  131.  
  132. ASKQUIT:
  133.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  134.  
  135.     IF sz$ = "EXIT" THEN
  136.         UIPopAll
  137.         ERROR STFQUIT
  138.     ELSEIF sz$ = "REACTIVATE" THEN
  139.     GOTO ASKQUIT
  140.     ELSE
  141.     UIPop 1
  142.     END IF
  143.     RETURN
  144.  
  145.  
  146.  
  147. '**
  148. '** Purpose:
  149. '**     Builds the copy list and performs all installation operations.
  150. '** Arguments:
  151. '**     none.
  152. '** Returns:
  153. '**     none.
  154. '*************************************************************************
  155. SUB Install STATIC
  156.  
  157.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  158.     CreateDir DEST$, cmoNone
  159.  
  160.     OpenLogFile MakePath(DEST$, "LOGFILE.OUT"), 0
  161.     WriteToLogFile ""
  162.     WriteToLogFile "  User chose as destination directory: '" + DEST$ + "'"
  163.     WriteToLogFile ""
  164.     WriteToLogFile "May have had to create the directory: " + DEST$
  165.     WriteToLogFile ""
  166.  
  167.     AddSectionFilesToCopyList "Files", SrcDir$, DEST$
  168.     CopyFilesInCopyList
  169.  
  170.     ini$ = MakePath(DEST$, "DEMO.INI")
  171.     CreateIniKeyValue "WIN.INI", "FILE!", "Option", OPTCUR$, cmoNone
  172.     CreateIniKeyValue ini$, "Section 1", "Key 1", "Value 1" , cmoNone
  173.     CreateIniKeyValue ini$, "Section 2", "Key 2", "Value 2" , cmoNone
  174.     CreateIniKeyValue ini$, "Section 3", "Key 3", "Value 3" , cmoNone
  175.  
  176.     CreateProgmanGroup "FILE!", "", cmoNone
  177.     ShowProgmanGroup   "FILE!", 1, cmoNone
  178.     CreateProgmanItem  "FILE!", "FILE!",         ""+MakePath(DEST$, "FILEWIN.EXE"),"", cmoOverwrite
  179.     CreateProgmanItem  "FILE!", "Release Notes", ""+MakePath(DEST$, "README.TXT"),"", cmoOverwrite
  180.     CreateProgmanItem  "FILE!", "Name ID Utility", ""+MakePath(DEST$, "NAMEID.EXE"),"", cmoOverwrite
  181.  
  182.     CloseLogFile
  183.  
  184. END SUB
  185.  
  186.  
  187.  
  188. '**
  189. '** Purpose:
  190. '**     Appends a file name to the end of a directory path,
  191. '**     inserting a backslash character as needed.
  192. '** Arguments:
  193. '**     szDir$  - full directory path (with optional ending "\")
  194. '**     szFile$ - filename to append to directory
  195. '** Returns:
  196. '**     Resulting fully qualified path name.
  197. '*************************************************************************
  198. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  199.     IF szDir$ = "" THEN
  200.     MakePath = szFile$
  201.     ELSEIF szFile$ = "" THEN
  202.     MakePath = szDir$
  203.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  204.     MakePath = szDir$ + szFile$
  205.     ELSE
  206.     MakePath = szDir$ + "\" + szFile$
  207.     END IF
  208. END FUNCTION
  209.  
  210.